package br.com.guarana.business.service;

import br.com.guarana.business.model.Parametro;
import br.com.guarana.util.Util;
import java.util.Date;
import javax.persistence.NoResultException;
import javax.persistence.NonUniqueResultException;
import javax.persistence.Query;

/**
 *
 * @author 
 */
public class ParametroService extends PadraoService {

    public Parametro buscaParametroDoSistema() {        
        Query query = this.getDAO().getEntityManager().createNamedQuery("Parametro.findParametroById");
        query.setParameter("id", 1);
        query.setHint("toplink.refresh", "true");
        Parametro parametro = null;

        try {
            parametro = (Parametro) query.getSingleResult();
            parametro.setDataAtual(new Date());            
            return parametro;

        } catch (NonUniqueResultException e) {
            parametro = (Parametro) query.getResultList().get(0);
            parametro.setDataAtual(new Date());
            return parametro;

        } catch (NoResultException e) {
            return null;
        }
    }

    public void salvar(Parametro parametro) {
        try {
            this.getDAO().getEntityManager().getTransaction().begin();           
            this.getDAO().salvar(parametro);
            this.getDAO().getEntityManager().getTransaction().commit();

        } catch (Exception e) {
            e.printStackTrace();
            this.getDAO().getEntityManager().getTransaction().rollback();
        }
    }

    public static String encripta(String senha) {
        return Util.calculaHashMD5(senha);
    }           
        
    //Função que retorna primeiro nome
    public String retornaPrimeiroNome(String nomeCompleto){
        int index = nomeCompleto.indexOf(" ");

        String primeiro = "";

        if (index > 0){
            primeiro = nomeCompleto.substring(0, index);
        }
        else {
            primeiro = nomeCompleto;
        }

        return primeiro;
    }
    
    //TESTES -- TESTES -- TESTES -- TESTES -- TESTES -- TESTES -- TESTES -- TESTES
    public static void main(String[] args) {
        ParametroService main = new ParametroService();                               
        
    }
    
    
}

